package IDE;
import lexico.*;
import java.awt.FileDialog;
import java.awt.Frame;
import java.io.*;
import java.io.RandomAccessFile;
import java.util.logging.Level;
import java.util.logging.Logger;



public class Modelo {

    private RandomAccessFile raf;
   // private File archi;
  //  private int tama_archi;
    private String linea2,  line,linea;
    private IDE vista;
    private analizador ruta;

    public Modelo(IDE vista) {
        this.vista = vista;

    }

    public void abrirArchivo(int bandera, String area) throws IOException {
       // archi = null;
       // archi = new File("C:"); // ruta en la carpeta dond toy parada
       // System.out.println("abriooooo archivooooo " + archi);
        raf = null;

        try {
            if (bandera == 1) {//para solo leer

                Frame f = new Frame();
                FileDialog fd = new FileDialog(f, "Abrir", FileDialog.LOAD);
                fd.setVisible(true);
                String fichero = fd.getFile();
                line=fichero;
                vista.setArea_analisis("Ruta: "+line);
                System.out.println(fichero);
                if (fichero != null) {
                    raf = new RandomAccessFile(fichero, "r"); // solo para leerlo
                    linea = raf.readLine();// leo el archivo
                    vista.setArea_escritura(linea);
                    System.out.println("Esto es lo q tiene el archivoo: " + linea);
                    while ((linea=raf.readLine()) != null) {
                        vista.setArea_escritura(linea);
                        System.out.println(linea);
                    }
                }
            }
            if (bandera == 2) {//para escribir guardar
                Frame f = new Frame();
                FileDialog fd = new FileDialog(f,"Guardar", FileDialog.SAVE);
                fd.setVisible(true);
                String fichero = fd.getFile();
                if (fichero != null) {
                    raf = new RandomAccessFile(fichero, "rw");
                    linea2 =area;
                    raf.writeBytes(linea2);
                   // raf.writeChars(linea2); /// escribo en el archiv
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
    public void anali(){
       //this.vista.setArea_analisis("vista: "+vista);
        ruta= new analizador(line, vista);
    }
}
